namespace MauiBuilder.Services;

/// <summary>
/// 前台服务接口
/// 提供启动、停止前台服务的抽象方法（不包含通知功能）
/// </summary>
public interface IForegroundService
{
    /// <summary>
    /// 启动前台服务
    /// </summary>
    Task StartServiceAsync();

    /// <summary>
    /// 停止前台服务
    /// </summary>
    Task StopServiceAsync();

    /// <summary>
    /// 获取服务运行状态
    /// </summary>
    /// <returns>true表示服务正在运行，false表示服务已停止</returns>
    bool IsServiceRunning();
        
    /// <summary>
    /// 平台是否支持前台服务
    /// </summary>
    /// <returns>是否支持</returns>
    bool IsForegroundServiceSupported();
        
    /// <summary>
    /// 服务状态变化事件
    /// </summary>
    event Action<bool>? ServiceStateChanged;
}